package com.fupeng.leetCode;

import static org.junit.Assert.*;

import java.util.ArrayList;

import org.junit.Test;
public class Solution {
	
	public int  NumberOf1(int n) {
		String s = Integer.toBinaryString(n);
		int nums=0;
		for(int i=0;i<s.length();i++){
			if(s.charAt(i)=='1')
				nums++;
		}
        return nums;
    }
	
	@Test
	public void testName() throws Exception {
		NumberOf1(-8);
	}
	
	
	
	
	public ArrayList<Integer> FindNumbersWithSum(int [] array,int sum) {
        ArrayList<Integer> list = new ArrayList();
        ArrayList<Integer> result = new ArrayList();
        for(int i=0;i<array.length-1;i++){
        	for(int j=i+1;j<array.length;j++){
        		if(array[j]==sum-array[i]){
        			list.add(array[i]);
        			break;
        		}
        	}
        }
        if(list.isEmpty())
        	return result;
        int min=list.get(0)*(sum-list.get(0));
        int index=0;
        for(int i=1;i<list.size();i++){
        	if(list.get(i)*(sum-list.get(i))<min){
        		index=i;
        		min=list.get(i)*(sum-list.get(i));
        	}
        }
        result.add(list.get(index));
        result.add(sum-list.get(index));
        return result;
    }
}
